#
# Makefile for iLBC Codec Plugin
#
# Copyright (C) 2004 Post Increment, All Rights Reserved
#
# The contents of this file are subject to the Mozilla Public License
# Version 1.0 (the "License"); you may not use this file except in
# compliance with the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS"
# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
# the License for the specific language governing rights and limitations
# under the License.
#
# The Original Code is Open H323 library.
#
# The Initial Developer of the Original Code is Post Increment
#
# Contributor(s): ______________________________________.
#
# $Log$
# Revision 1.4  2007/04/19 06:09:04  csoutheren
# Fixed plugin build system to use better detection for OSX
# Resolved 1636262 - Fix for audio plugins for OSX
#
# Revision 1.3  2006/08/10 04:10:20  csoutheren
# Applied 1537305 - fixed build problems on 64 bit machines
# Thanks to Stanislav Brabec
#
# Revision 1.2  2006/07/31 09:09:19  csoutheren
# Checkin of validated codec used during development
#
# Revision 1.1.2.1  2006/04/06 01:20:05  csoutheren
# Ported audio codec plugins from OpenH323 to OPAL
#
# Revision 1.4  2004/08/22 04:20:20  csoutheren
# Added -fPIC to build commands to fix problems on 64 bit platforms
# Thanks to Klaus Kaempf
#
# Revision 1.3  2004/06/24 23:33:18  csoutheren
# Changed Makefiles to ensure all plugins have correct suffix
#
# Revision 1.2  2004/05/03 11:08:30  csoutheren
# Modified to allow plugins to be created on various platforms
#
# Revision 1.1  2004/04/29 14:48:02  csoutheren
# Reconfigured plugin makefiles per suggestions from Damien Sandras
# Changed install targets to use $(INSTALL)
#
# Revision 1.5  2004/04/27 09:59:27  csoutheren
# Updated codec specific Makefiles
#
# Revision 1.4  2004/04/09 12:24:19  csoutheren
# Renamed h323plugin.h to opalplugin.h, and modified everything else
# as required
#
# Revision 1.3  2004/04/04 12:57:50  csoutheren
# Updated Makefiles and fixed Linux problems
#
#
AC_PLUGIN_DIR=@AC_PLUGIN_DIR@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
target_os=@target_os@

SRCDIR	= ./iLBC
PLUGINDIR = ../..

CC	 	=@CC@
CFLAGS	 	=@CFLAGS@
CXX	 	=@CXX@
LDSO	 	=@LDSO@
SONAME		= iLBC
PLUGINEXT	=@PLUGINEXT@
STDCCFLAGS	=@STDCCFLAGS@
LDFLAGS		=@LDFLAGS@
EXTRACFLAGS     =-I$(PLUGINDIR)

ILBC_CFLAGS=@ILBC_CFLAGS@
ILBC_LIBS=@ILBC_LIBS@
ILBC_SYSTEM=@ILBC_SYSTEM@

SRCS	= ilbccodec.c

ifeq ($(ILBC_SYSTEM),no)
SRCS	+= $(SRCDIR)/anaFilter.c $(SRCDIR)/constants.c $(SRCDIR)/createCB.c $(SRCDIR)/doCPLC.c \
	  $(SRCDIR)/enhancer.c $(SRCDIR)/filter.c $(SRCDIR)/FrameClassify.c $(SRCDIR)/gainquant.c \
	  $(SRCDIR)/getCBvec.c $(SRCDIR)/helpfun.c $(SRCDIR)/hpInput.c $(SRCDIR)/hpOutput.c \
	  $(SRCDIR)/iCBConstruct.c $(SRCDIR)/iCBSearch.c $(SRCDIR)/iLBC_decode.c $(SRCDIR)/iLBC_encode.c \
	  $(SRCDIR)/LPCdecode.c $(SRCDIR)/LPCencode.c $(SRCDIR)/lsf.c $(SRCDIR)/packing.c \
	  $(SRCDIR)/StateConstructW.c $(SRCDIR)/StateSearchW.c $(SRCDIR)/syntFilter.c

EXTRALIBS =
else
EXTRACFLAGS += $(IBLC_CFLAGS)
EXTRALIBS = $(ILBC_LIBS)
endif

OBJDIR	= ./obj

vpath	%.o $(OBJDIR)
vpath	%.c $(SRCDIR)

ifeq ($(VERBOSE),)
Q_CC = @echo [CC] `echo $< | sed s^@OPALDIR@/^^` ;
Q_LD = @echo [LD] `echo $(PLUGIN) | sed s^@OPALDIR@/^^` ;
endif


$(OBJDIR)/%.o : %.c
	@mkdir -p $(OBJDIR) >/dev/null 2>&1
	$(Q_CC)$(CC) -c -I../../../include $(STDCCFLAGS) $(EXTRACFLAGS) $(CFLAGS) -o $@ $<

PLUGIN	= ./ilbc_audio_pwplugin.$(PLUGINEXT)

OBJECTS	= $(addprefix $(OBJDIR)/,$(patsubst %.c,%.o,$(notdir $(SRCS))))

$(PLUGIN): $(OBJECTS)
ifeq (solaris,$(findstring solaris,$(target_os)))
	$(Q_LD)$(CC) $(LDSO) $@ -o $@ $^ $(EXTRALIBS)
else	
	$(Q_LD)$(CC) $(LDSO) -o $@ $^ $(EXTRALIBS)
endif	

install:
	mkdir -p $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)
	install $(PLUGIN) $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)

uninstall:
	rm -f $(DESTDIR)$(libdir)/$(AC_PLUGIN_DIR)/$(PLUGIN)

clean:
	rm -f $(OBJECTS) $(PLUGIN)

###########################################
